#pragma once

#include "../umlmodel_global.h"

namespace uml {

/// <summary>
/// ExpansionKind
/// ExpansionKind is an enumeration type used to specify how an ExpansionRegion
/// executes its contents.
/// </summary>
enum class UMLMODEL_EXPORT ExpansionKind {

    /// <summary>
    /// 
    /// The content of the ExpansionRegion is executed concurrently for the elements of
    /// the input collections.
    /// </summary>
    kparallel,

    /// <summary>
    /// 
    /// The content of the ExpansionRegion is executed iteratively for the elements of
    /// the input collections, in the order of the input elements, if the collections
    /// are ordered.
    /// </summary>
    kiterative,

    /// <summary>
    /// 
    /// A stream of input collection elements flows into a single execution of the
    /// content of the ExpansionRegion, in the order of the collection elements if the
    /// input collections are ordered.
    /// </summary>
    kstream,
};

} // namespace uml
